home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / pcl / docs.lha / internals / outline.txt < prev    next >
Text File  |  1992-05-30  |  4KB  |  121 lines

  1. Todo:
  2. fasl.tex
  3. In good shape.
  4.  
  5. object.tex
  6. Fairly good, but should probably be integrated with description of primitives
  7. in vm.tex.
  8.  
  9. front.tex
  10. Needs updating cleanup scan.  Not too bad.
  11.  
  12. middle.tex
  13. Need VMR overview.  New names for GTN/LTN?  Needs general cleanup, but not too
  14. bad.  NLX and stack are the worst. 
  15.  
  16. back.tex
  17. Pack and assembler need more info.  General cleanup.
  18.  
  19.  
  20. compiler-overview.tex
  21. Adapt introductory material from /../fred/usr/ram/comp.mss, pap:talk.mss
  22. Division between ICR overview and ICR convert needs work.
  23.  
  24. debugger.tex
  25. Needs much work.  Merge much info from debug-info and debug-int.  Duplicating a
  26. fair amount of stuff in the source may make sense where, since this is a part
  27. of the system that is generally interesting.  And also, a part that people
  28. building on CMU CL might want to understand.
  29.  
  30. glossary.tex
  31. Finish, integrate w/ main text?
  32.  
  33. interpreter.tex
  34. Very sketchy and tentative.  Needs to be fleshed out from the code.
  35.  
  36. retargeting.tex
  37. Very rough.  Needs to be merged with parts of vm.tex (call vops).  Needs some
  38. additional text.  Documentation of assembler, and all other exported
  39. interfaces.  (Generate defined VOP descriptions from the core, keyed to files?)
  40.  
  41. vm.tex
  42. This file should probably cease to exist, going into object, retargeting and
  43. introductory material.  [Also other scrap in stuff/]
  44.  
  45.  
  46. [VMR and ICR overview also needed...]
  47.  
  48. architecture.tex
  49. Missing sections on startup code, compiling, building.
  50.  
  51. environment.tex
  52. Needs to be written: type system and info database interfaces.
  53.  
  54. interface.tex
  55. Needs to be written: source paths and error message utilities.
  56.  
  57. lowlev.tex
  58. Needs to be written.  All manner of low-level stuff: memory layout and
  59. management, core file format, C interface, low-level debugging (and ldb.)
  60.  
  61.  
  62. Several different audiences:
  63.  -- Curious compiler implementors (not a big priority.  Downplay academic
  64.     aspects, i.e. comparisons to other techniques, analysis of limitations,
  65.     future work...)  Compiler part can be more academic, and include some
  66.     justifications of other design decisions.
  67.  -- System maintainers.
  68.  -- People retargeting the compiler.
  69.  -- People bringing up the system in a new environment.
  70.  
  71. Sys arch part:
  72.     Package + file structure [system.txt]
  73.     system building [compiling.txt]
  74.         bootstrapping & cross compiling
  75.  
  76. Compiler design:
  77.     Overview (mirror structure of rest of the part)
  78.     ICR data structure
  79.     Front end [front.tex]
  80.     Basic VMR data structures (no back-end stuff)
  81.     Middle end [middle.tex]
  82.     Back end + data structures [back.tex]
  83.  
  84.     Error system interface
  85.     Source tracking
  86.  
  87. Compiler retargeting:
  88.     VM definition concepts [porting.txt, mail.txt, retargeting.tex]
  89.         SCs, SBs, primitive-types
  90.     Defining VOPS
  91.         time specification
  92.     defining 
  93.     and using the assembler
  94.     Required VOPs [internal.txt, lowlev.txt, vm.mss]
  95.     Standard primitives [vm.mss] (broken down by type, parallels object format
  96.     section structure.)
  97.     Customizing VMR conversion
  98.         multiple hardware
  99.         constant operands
  100.         VM specific transforms
  101.         special-case IR2 convert methods
  102.  
  103. Run-time system:
  104.     type system
  105.     info database
  106.     Data format [object.tex]
  107.     Debugger:
  108.     Info format [debug.txt]
  109.     Stack parsing [debug.txt]
  110.     Breakpoints
  111.     Internal errors
  112.     Signals
  113.     Memory management: [William]
  114.         heap Layout
  115.         stacks
  116.         GC
  117.     misc implementation stuff: foreign call, assembly routines [lowlev.txt]
  118.     LDB and low-level debugging
  119.     core file format  [William]
  120.     fasl format [fasl.tex]
  121.